((1051) (1051 :OBJECT-NAME *PROGRAM* :NAME "text rock" :GOAL-DESCRIPTION "A Pascal construct to start and name a program." :PARENT :NONE :CHILDREN (1053 1111 1121) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST (1052)) (1052 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1051 :TYPE NON-EXPRESSION :CONTENTS (1054 1112 1122)) (1053 :OBJECT-NAME *GOAL* :NAME "G:random_stuff" :GOAL-DESCRIPTION "This is all the stuff for the computer to make a random choice on what it will pick." :PARENT 1051 :CHILDREN (1054) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1054 :OBJECT-NAME *PLAN* :NAME "P:random_stuff" :GOAL-DESCRIPTION "This is all the stuff for the computer to make a random choice on what it will pick." :PARENT 1053 :CHILDREN (1056 1070 1085 1096) :COMPOSERS (1052) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1055)) (1055 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1054 :TYPE *PLAN* :CONTENTS (1057 1071 1086 1097)) (1056 :OBJECT-NAME *GOAL* :NAME "G:set_equal" :GOAL-DESCRIPTION "This is where the random variable is assigned." :PARENT 1054 :CHILDREN (1057) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1057 :OBJECT-NAME *PLAN* :NAME "P:set_equal" :GOAL-DESCRIPTION "This is where the random variable is assigned." :PARENT 1056 :CHILDREN (1059 1066) :COMPOSERS (1055) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1058)) (1058 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1057 :TYPE *PLAN* :CONTENTS (1063)) (1059 :OBJECT-NAME *GOAL* :NAME "G:set_equal1" :GOAL-DESCRIPTION "This is the first part of the line which will assign the random variable." :PARENT 1057 :CHILDREN (1063) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1060 :OBJECT-NAME *REAL-VARIABLE* :NAME "rand" :GOAL-DESCRIPTION "This is the variable which will represent the random choice." :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1062 1061)) (1061 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1060 :TYPE *PLAN* :CONTENTS NIL) (1062 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1060 :TYPE REAL :CONTENTS (0.0)) (1063 :OBJECT-NAME *ASSIGN* :NAME ":=" :GOAL-DESCRIPTION "A Pascal construct to assign a value to a given variable." :PARENT 1059 :CHILDREN :NONE :COMPOSERS (1058) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1064 1065)) (1064 :OBJECT-NAME *UNI-SLOT* :NAME "variable" :MY-PLAN 1063 :TYPE *VARIABLE* :CONTENTS (1060)) (1065 :OBJECT-NAME *UNI-SLOT* :NAME "expression" :MY-PLAN 1063 :TYPE *EXPRESSION* :CONTENTS (1067)) (1066 :OBJECT-NAME *GOAL* :NAME "G:set_equal2" :GOAL-DESCRIPTION "This is the second part of the line which will assign the random variable." :PARENT 1057 :CHILDREN (1067) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1067 :OBJECT-NAME *RANDOM* :NAME "random" :GOAL-DESCRIPTION "A Macintosh function to choose a number at random between 0 and 1" :PARENT 1066 :CHILDREN NIL :COMPOSERS (1065) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1068 1069)) (1068 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1067 :TYPE REAL :CONTENTS NIL) (1069 :OBJECT-NAME *UNI-SLOT* :NAME "real-operand" :MY-PLAN 1067 :TYPE *PLAN* :CONTENTS NIL) (1070 :OBJECT-NAME *GOAL* :NAME "G:random_multiplication" :GOAL-DESCRIPTION "This will multiplicate the random variable by 1000." :PARENT 1054 :CHILDREN (1071) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1071 :OBJECT-NAME *PLAN* :NAME "P:random_multiplication" :GOAL-DESCRIPTION "This will multiplicate the random variable by 1000." :PARENT 1070 :CHILDREN (1073 1077) :COMPOSERS (1055) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1072)) (1072 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1071 :TYPE *PLAN* :CONTENTS (1074)) (1073 :OBJECT-NAME *GOAL* :NAME "G:random_multiplication1" :GOAL-DESCRIPTION "This is the first part of the line which will multiplicate the random variable." :PARENT 1071 :CHILDREN (1074) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1074 :OBJECT-NAME *ASSIGN* :NAME ":=" :GOAL-DESCRIPTION "A Pascal construct to assign a value to a given variable." :PARENT 1073 :CHILDREN :NONE :COMPOSERS (1072) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1075 1076)) (1075 :OBJECT-NAME *UNI-SLOT* :NAME "variable" :MY-PLAN 1074 :TYPE *VARIABLE* :CONTENTS (1060)) (1076 :OBJECT-NAME *UNI-SLOT* :NAME "expression" :MY-PLAN 1074 :TYPE *EXPRESSION* :CONTENTS (1081)) (1077 :OBJECT-NAME *GOAL* :NAME "G:random_mulatiplication2" :GOAL-DESCRIPTION "This is the second part of the line which will multiplicate the random variable." :PARENT 1071 :CHILDREN (1081) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1078 :OBJECT-NAME *REAL-CONSTANT* :NAME "one_thousand" :GOAL-DESCRIPTION "one thousand" :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1080 1079)) (1079 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1078 :TYPE *PLAN* :CONTENTS NIL) (1080 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1078 :TYPE REAL :CONTENTS (1000.0)) (1081 :OBJECT-NAME *MULTIPLY* :NAME "*" :GOAL-DESCRIPTION "A Pascal operator to multiply two numbers." :PARENT 1077 :CHILDREN NIL :COMPOSERS (1076) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1082 1083 1084)) (1082 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1081 :TYPE REAL :CONTENTS NIL) (1083 :OBJECT-NAME *UNI-SLOT* :NAME "multiplicand" :MY-PLAN 1081 :TYPE *REAL-EXPRESSION* :CONTENTS (1060)) (1084 :OBJECT-NAME *UNI-SLOT* :NAME "multiplier" :MY-PLAN 1081 :TYPE *REAL-EXPRESSION* :CONTENTS (1078)) (1085 :OBJECT-NAME *GOAL* :NAME "G:random_trunc" :GOAL-DESCRIPTION "This will trunc the random variable." :PARENT 1054 :CHILDREN (1086) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1086 :OBJECT-NAME *PLAN* :NAME "P:random_trunc" :GOAL-DESCRIPTION "This will trunc the random variable." :PARENT 1085 :CHILDREN (1088 1092) :COMPOSERS (1055) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1087)) (1087 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1086 :TYPE *PLAN* :CONTENTS (1089)) (1088 :OBJECT-NAME *GOAL* :NAME "G:random_trunc1" :GOAL-DESCRIPTION "This is the first part of the line which will trunc the random variable." :PARENT 1086 :CHILDREN (1089) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1089 :OBJECT-NAME *ASSIGN* :NAME ":=" :GOAL-DESCRIPTION "A Pascal construct to assign a value to a given variable." :PARENT 1088 :CHILDREN :NONE :COMPOSERS (1087) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1090 1091)) (1090 :OBJECT-NAME *UNI-SLOT* :NAME "variable" :MY-PLAN 1089 :TYPE *VARIABLE* :CONTENTS (1060)) (1091 :OBJECT-NAME *UNI-SLOT* :NAME "expression" :MY-PLAN 1089 :TYPE *EXPRESSION* :CONTENTS (1093)) (1092 :OBJECT-NAME *GOAL* :NAME "G:random_trunc2" :GOAL-DESCRIPTION "This is the second part of the line which will trunc the random variable." :PARENT 1086 :CHILDREN (1093) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1093 :OBJECT-NAME *TRUNCATE* :NAME "trunc" :GOAL-DESCRIPTION "A Pascal function to truncate the fractional
portion of a number." :PARENT 1092 :CHILDREN NIL :COMPOSERS (1091) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1094 1095)) (1094 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1093 :TYPE REAL :CONTENTS NIL) (1095 :OBJECT-NAME *UNI-SLOT* :NAME "number" :MY-PLAN 1093 :TYPE *REAL-EXPRESSION* :CONTENTS (1060)) (1096 :OBJECT-NAME *GOAL* :NAME "G:random_mod" :GOAL-DESCRIPTION "This will mod the random variable." :PARENT 1054 :CHILDREN (1097) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1097 :OBJECT-NAME *PLAN* :NAME "P:random_mod" :GOAL-DESCRIPTION "This will mod the random variable." :PARENT 1096 :CHILDREN (1099 1103) :COMPOSERS (1055) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1098)) (1098 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1097 :TYPE *PLAN* :CONTENTS (1100)) (1099 :OBJECT-NAME *GOAL* :NAME "G:random_mod1" :GOAL-DESCRIPTION "This is the first part of the line which mods the random variable." :PARENT 1097 :CHILDREN (1100) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1100 :OBJECT-NAME *ASSIGN* :NAME ":=" :GOAL-DESCRIPTION "A Pascal construct to assign a value to a given variable." :PARENT 1099 :CHILDREN :NONE :COMPOSERS (1098) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1101 1102)) (1101 :OBJECT-NAME *UNI-SLOT* :NAME "variable" :MY-PLAN 1100 :TYPE *VARIABLE* :CONTENTS (1060)) (1102 :OBJECT-NAME *UNI-SLOT* :NAME "expression" :MY-PLAN 1100 :TYPE *EXPRESSION* :CONTENTS (1107)) (1103 :OBJECT-NAME *GOAL* :NAME "G:random_mod2" :GOAL-DESCRIPTION "This is the second part of the line which will mod the random variable." :PARENT 1097 :CHILDREN (1107) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1104 :OBJECT-NAME *REAL-CONSTANT* :NAME "three" :GOAL-DESCRIPTION "three" :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1106 1105)) (1105 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1104 :TYPE *PLAN* :CONTENTS NIL) (1106 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1104 :TYPE REAL :CONTENTS (3.0)) (1107 :OBJECT-NAME *MOD* :NAME "mod" :GOAL-DESCRIPTION "A Pascal operator to calculate the remainder
after dividing one integer by another." :PARENT 1103 :CHILDREN NIL :COMPOSERS (1102) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1108 1109 1110)) (1108 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1107 :TYPE REAL :CONTENTS NIL) (1109 :OBJECT-NAME *UNI-SLOT* :NAME "number" :MY-PLAN 1107 :TYPE *REAL-EXPRESSION* :CONTENTS (1060)) (1110 :OBJECT-NAME *UNI-SLOT* :NAME "divisor" :MY-PLAN 1107 :TYPE *REAL-EXPRESSION* :CONTENTS (1104)) (1111 :OBJECT-NAME *GOAL* :NAME "G:user_input" :GOAL-DESCRIPTION "This contains the plan for the user to choose between rock, paper, and scissors." :PARENT 1051 :CHILDREN (1112) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1112 :OBJECT-NAME *PLAN* :NAME "P:user_input" :GOAL-DESCRIPTION "This contains the plan for the user to choose between rock, paper, and scissors." :PARENT 1111 :CHILDREN (1114 1120) :COMPOSERS (1052) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1113)) (1113 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1112 :TYPE *PLAN* :CONTENTS (1118 1151)) (1114 :OBJECT-NAME *GOAL* :NAME "G:write_choice" :GOAL-DESCRIPTION "This is the promp for the user to enter his choice." :PARENT 1112 :CHILDREN (1118) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1115 :OBJECT-NAME *STRING-CONSTANT* :NAME "write_choice" :GOAL-DESCRIPTION "The prompt for the user to enter his choice." :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1117 1116)) (1116 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1115 :TYPE *PLAN* :CONTENTS NIL) (1117 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1115 :TYPE STRING :CONTENTS ("Would you like rock, paper, or scissors? (Type 1, 2, or 3, respectively)")) (1118 :OBJECT-NAME *WRITELN* :NAME "writeln" :GOAL-DESCRIPTION "A Pascal construct to write to the
screen a message terminated by a return character." :PARENT 1114 :CHILDREN :NONE :COMPOSERS (1113) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1119)) (1119 :OBJECT-NAME *MULTI-SLOT* :NAME "message" :MY-PLAN 1118 :TYPE *EXPRESSION* :CONTENTS (1115)) (1120 :OBJECT-NAME *GOAL* :NAME "G:read_choice" :GOAL-DESCRIPTION "THis is where the user enters his choice." :PARENT 1112 :CHILDREN (1151) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1121 :OBJECT-NAME *GOAL* :NAME "G:game" :GOAL-DESCRIPTION "This contains the plans for the actual game; comparing the two choices." :PARENT 1051 :CHILDREN (1122) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1122 :OBJECT-NAME *PLAN* :NAME "P:game" :GOAL-DESCRIPTION "This contains the plans for the actual game; comparing the two choices." :PARENT 1121 :CHILDREN (1124 1127 1130) :COMPOSERS (1052) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1123)) (1123 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1122 :TYPE *PLAN* :CONTENTS (1125 1128 1131)) (1124 :OBJECT-NAME *GOAL* :NAME "G:if_then1" :GOAL-DESCRIPTION "This is the first of the three main if thens." :PARENT 1122 :CHILDREN (1125) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1125 :OBJECT-NAME *PLAN* :NAME "P:if_then1" :GOAL-DESCRIPTION "This is the first of the three main if thens." :PARENT 1124 :CHILDREN (1133 1153 1156 1159) :COMPOSERS (1123) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1126)) (1126 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1125 :TYPE *PLAN* :CONTENTS (1137)) (1127 :OBJECT-NAME *GOAL* :NAME "G:if_then2" :GOAL-DESCRIPTION "This is the second of the three if thens." :PARENT 1122 :CHILDREN (1128) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1128 :OBJECT-NAME *PLAN* :NAME "P:if_then2" :GOAL-DESCRIPTION "This is the second of the three if thens." :PARENT 1127 :CHILDREN (1222 1243 1264 1276) :COMPOSERS (1123) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1129)) (1129 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1128 :TYPE *PLAN* :CONTENTS (1265)) (1130 :OBJECT-NAME *GOAL* :NAME "G:if_then_3" :GOAL-DESCRIPTION "This is the third of the three major if thens." :PARENT 1122 :CHILDREN (1131) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1131 :OBJECT-NAME *PLAN* :NAME "P:if_then_3" :GOAL-DESCRIPTION "This is the third of the three major if thens." :PARENT 1130 :CHILDREN (1567 1709 1902 2098) :COMPOSERS (1123) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1132)) (1132 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1131 :TYPE *PLAN* :CONTENTS (1632)) (1133 :OBJECT-NAME *GOAL* :NAME "G:rand_rock" :GOAL-DESCRIPTION "This is the if then for if the computer chooses a rock." :PARENT 1125 :CHILDREN (1137) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1134 :OBJECT-NAME *REAL-CONSTANT* :NAME "zero" :GOAL-DESCRIPTION "zero" :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1136 1135)) (1135 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1134 :TYPE *PLAN* :CONTENTS NIL) (1136 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1134 :TYPE REAL :CONTENTS (0.0)) (1137 :OBJECT-NAME *PLAN* :NAME "if_then_test" :GOAL-DESCRIPTION "This is an if then plan with a = test already embedded into it." :PARENT 1133 :CHILDREN (1138 1147) :COMPOSERS (1126) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1140)) (1138 :OBJECT-NAME *GOAL* :NAME "G:if_then_plan" :GOAL-DESCRIPTION "This is the actual if_then plan." :PARENT 1137 :CHILDREN (1139) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1139 :OBJECT-NAME *IF-THEN* :NAME "if-then" :GOAL-DESCRIPTION "A Pascal construct to execute or not
execute a group of statements depending on
the result of a boolean test." :PARENT 1138 :CHILDREN :NONE :COMPOSERS (1140) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1141 1146)) (1140 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1137 :TYPE *PLAN* :CONTENTS (1139)) (1141 :OBJECT-NAME *UNI-SLOT* :NAME "test" :MY-PLAN 1139 :TYPE *BOOLEAN-EXPRESSION* :CONTENTS (1142)) (1142 :OBJECT-NAME *EQUAL* :NAME "=" :GOAL-DESCRIPTION "A Pascal operator to test whether two expressions are equal in value." :PARENT NIL :CHILDREN NIL :COMPOSERS (1141) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1143 1144 1145)) (1143 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1142 :TYPE BOOLEAN :CONTENTS NIL) (1144 :OBJECT-NAME *UNI-SLOT* :NAME "expression1" :MY-PLAN 1142 :TYPE *EXPRESSION* :CONTENTS (1060)) (1145 :OBJECT-NAME *UNI-SLOT* :NAME "expression2" :MY-PLAN 1142 :TYPE *EXPRESSION* :CONTENTS (1134)) (1146 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1139 :TYPE NON-EXPRESSION :CONTENTS (1154 1157 1160)) (1147 :OBJECT-NAME *GOAL* :NAME "G:test" :GOAL-DESCRIPTION "This is the test statement for the if then plan." :PARENT 1137 :CHILDREN (1142) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1148 :OBJECT-NAME *REAL-VARIABLE* :NAME "read_choice" :GOAL-DESCRIPTION "This is where the user inputs his choice." :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1150 1149)) (1149 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1148 :TYPE *PLAN* :CONTENTS NIL) (1150 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1148 :TYPE REAL :CONTENTS (0.0)) (1151 :OBJECT-NAME *READLN* :NAME "readln" :GOAL-DESCRIPTION "A Pascal construct to read input from the
keyboard, terminated by a return character." :PARENT 1120 :CHILDREN :NONE :COMPOSERS (1113) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1152)) (1152 :OBJECT-NAME *UNI-SLOT* :NAME "variable" :MY-PLAN 1151 :TYPE *VARIABLE* :CONTENTS (1148)) (1153 :OBJECT-NAME *GOAL* :NAME "G:user_rock1" :GOAL-DESCRIPTION "This will be used if both the user and the computer choose rock." :PARENT 1125 :CHILDREN (1154) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1154 :OBJECT-NAME *PLAN* :NAME "P:user_rock1" :GOAL-DESCRIPTION "This will be used if both the user and the computer choose rock." :PARENT 1153 :CHILDREN (1162 1171) :COMPOSERS (1146) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1155)) (1155 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1154 :TYPE *PLAN* :CONTENTS (1172)) (1156 :OBJECT-NAME *GOAL* :NAME "G:user_paper1" :GOAL-DESCRIPTION "This is used if the computer chooses rock and the user chooses paper." :PARENT 1125 :CHILDREN (1157) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1157 :OBJECT-NAME *PLAN* :NAME "P:user_paper1" :GOAL-DESCRIPTION "This is used if the computer chooses rock and the user chooses paper." :PARENT 1156 :CHILDREN (1183 1184) :COMPOSERS (1146) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1158)) (1158 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1157 :TYPE *PLAN* :CONTENTS (1205)) (1159 :OBJECT-NAME *GOAL* :NAME "G:user_scissors1" :GOAL-DESCRIPTION "This is used if the computer chooses rock and the user chooses scissors." :PARENT 1125 :CHILDREN (1160) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1160 :OBJECT-NAME *PLAN* :NAME "P:user_scissors1" :GOAL-DESCRIPTION "This is used if the computer chooses rock and the user chooses scissors." :PARENT 1159 :CHILDREN (1190 1216) :COMPOSERS (1146) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1161)) (1161 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1160 :TYPE *PLAN* :CONTENTS (1191)) (1162 :OBJECT-NAME *GOAL* :NAME "G:write_rock-rock" :GOAL-DESCRIPTION "This is the write line for if both the computer and the user choose rock." :PARENT 1154 :CHILDREN (1166) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1163 :OBJECT-NAME *STRING-CONSTANT* :NAME "write_rockrock" :GOAL-DESCRIPTION "The write line for rock-rock." :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1165 1164)) (1164 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1163 :TYPE *PLAN* :CONTENTS NIL) (1165 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1163 :TYPE STRING :CONTENTS ("Rocks hit each other. We tie.")) (1166 :OBJECT-NAME *WRITELN* :NAME "writeln" :GOAL-DESCRIPTION "A Pascal construct to write to the
screen a message terminated by a return character." :PARENT 1162 :CHILDREN :NONE :COMPOSERS (1181) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1167)) (1167 :OBJECT-NAME *MULTI-SLOT* :NAME "message" :MY-PLAN 1166 :TYPE *EXPRESSION* :CONTENTS (1163)) (1168 :OBJECT-NAME *REAL-CONSTANT* :NAME "one" :GOAL-DESCRIPTION "one" :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1170 1169)) (1169 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1168 :TYPE *PLAN* :CONTENTS NIL) (1170 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1168 :TYPE REAL :CONTENTS (1.0)) (1171 :OBJECT-NAME *GOAL* :NAME "G:if_then_rockrock" :GOAL-DESCRIPTION "The user if then for when both the computer and the user choose rock" :PARENT 1154 :CHILDREN (1172) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1172 :OBJECT-NAME *PLAN* :NAME "if_then_test" :GOAL-DESCRIPTION "This is an if then plan with a = test already embedded into it." :PARENT 1171 :CHILDREN (1173 1182) :COMPOSERS (1155) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1175)) (1173 :OBJECT-NAME *GOAL* :NAME "G:if_then_plan" :GOAL-DESCRIPTION "This is the actual if_then plan." :PARENT 1172 :CHILDREN (1174) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1174 :OBJECT-NAME *IF-THEN* :NAME "if-then" :GOAL-DESCRIPTION "A Pascal construct to execute or not
execute a group of statements depending on
the result of a boolean test." :PARENT 1173 :CHILDREN :NONE :COMPOSERS (1175) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1176 1181)) (1175 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1172 :TYPE *PLAN* :CONTENTS (1174)) (1176 :OBJECT-NAME *UNI-SLOT* :NAME "test" :MY-PLAN 1174 :TYPE *BOOLEAN-EXPRESSION* :CONTENTS (1177)) (1177 :OBJECT-NAME *EQUAL* :NAME "=" :GOAL-DESCRIPTION "A Pascal operator to test whether two expressions are equal in value." :PARENT NIL :CHILDREN NIL :COMPOSERS (1176) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1178 1179 1180)) (1178 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1177 :TYPE BOOLEAN :CONTENTS NIL) (1179 :OBJECT-NAME *UNI-SLOT* :NAME "expression1" :MY-PLAN 1177 :TYPE *EXPRESSION* :CONTENTS (1148)) (1180 :OBJECT-NAME *UNI-SLOT* :NAME "expression2" :MY-PLAN 1177 :TYPE *EXPRESSION* :CONTENTS (1168)) (1181 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1174 :TYPE NON-EXPRESSION :CONTENTS (1166)) (1182 :OBJECT-NAME *GOAL* :NAME "G:test" :GOAL-DESCRIPTION "This is the test statement for the if then plan." :PARENT 1172 :CHILDREN (1177) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1183 :OBJECT-NAME *GOAL* :NAME "G:if_then_rockpaper" :GOAL-DESCRIPTION "This is used if the computer chooses rock and the user chooses paper." :PARENT 1157 :CHILDREN (1205) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1184 :OBJECT-NAME *GOAL* :NAME "G:write_rockpaper" :GOAL-DESCRIPTION "This is the write line for if the computer chooses rock and the user chooses paper." :PARENT 1157 :CHILDREN (1188) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1185 :OBJECT-NAME *STRING-CONSTANT* :NAME "write_rockpaper" :GOAL-DESCRIPTION "Thisi si used if comp=rock and user= paper." :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1187 1186)) (1186 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1185 :TYPE *PLAN* :CONTENTS NIL) (1187 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1185 :TYPE STRING :CONTENTS ("Paper wraps rock. You win.")) (1188 :OBJECT-NAME *WRITELN* :NAME "writeln" :GOAL-DESCRIPTION "A Pascal construct to write to the
screen a message terminated by a return character." :PARENT 1184 :CHILDREN :NONE :COMPOSERS (1214) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1189)) (1189 :OBJECT-NAME *MULTI-SLOT* :NAME "message" :MY-PLAN 1188 :TYPE *EXPRESSION* :CONTENTS (1185)) (1190 :OBJECT-NAME *GOAL* :NAME "G:if_then_rockscissors" :GOAL-DESCRIPTION "This is used if comp=rock and user=scissors." :PARENT 1160 :CHILDREN (1191) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1191 :OBJECT-NAME *PLAN* :NAME "if_then_test" :GOAL-DESCRIPTION "This is an if then plan with a = test already embedded into it." :PARENT 1190 :CHILDREN (1192 1201) :COMPOSERS (1161) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1194)) (1192 :OBJECT-NAME *GOAL* :NAME "G:if_then_plan" :GOAL-DESCRIPTION "This is the actual if_then plan." :PARENT 1191 :CHILDREN (1193) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1193 :OBJECT-NAME *IF-THEN* :NAME "if-then" :GOAL-DESCRIPTION "A Pascal construct to execute or not
execute a group of statements depending on
the result of a boolean test." :PARENT 1192 :CHILDREN :NONE :COMPOSERS (1194) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1195 1200)) (1194 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1191 :TYPE *PLAN* :CONTENTS (1193)) (1195 :OBJECT-NAME *UNI-SLOT* :NAME "test" :MY-PLAN 1193 :TYPE *BOOLEAN-EXPRESSION* :CONTENTS (1196)) (1196 :OBJECT-NAME *EQUAL* :NAME "=" :GOAL-DESCRIPTION "A Pascal operator to test whether two expressions are equal in value." :PARENT NIL :CHILDREN NIL :COMPOSERS (1195) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1197 1198 1199)) (1197 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1196 :TYPE BOOLEAN :CONTENTS NIL) (1198 :OBJECT-NAME *UNI-SLOT* :NAME "expression1" :MY-PLAN 1196 :TYPE *EXPRESSION* :CONTENTS (1148)) (1199 :OBJECT-NAME *UNI-SLOT* :NAME "expression2" :MY-PLAN 1196 :TYPE *EXPRESSION* :CONTENTS (1104)) (1200 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1193 :TYPE NON-EXPRESSION :CONTENTS (1220)) (1201 :OBJECT-NAME *GOAL* :NAME "G:test" :GOAL-DESCRIPTION "This is the test statement for the if then plan." :PARENT 1191 :CHILDREN (1196) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1202 :OBJECT-NAME *REAL-CONSTANT* :NAME "two" :GOAL-DESCRIPTION "two" :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1204 1203)) (1203 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1202 :TYPE *PLAN* :CONTENTS NIL) (1204 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1202 :TYPE REAL :CONTENTS (2.0)) (1205 :OBJECT-NAME *PLAN* :NAME "if_then_test" :GOAL-DESCRIPTION "This is an if then plan with a = test already embedded into it." :PARENT 1183 :CHILDREN (1206 1215) :COMPOSERS (1158) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1208)) (1206 :OBJECT-NAME *GOAL* :NAME "G:if_then_plan" :GOAL-DESCRIPTION "This is the actual if_then plan." :PARENT 1205 :CHILDREN (1207) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1207 :OBJECT-NAME *IF-THEN* :NAME "if-then" :GOAL-DESCRIPTION "A Pascal construct to execute or not
execute a group of statements depending on
the result of a boolean test." :PARENT 1206 :CHILDREN :NONE :COMPOSERS (1208) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1209 1214)) (1208 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1205 :TYPE *PLAN* :CONTENTS (1207)) (1209 :OBJECT-NAME *UNI-SLOT* :NAME "test" :MY-PLAN 1207 :TYPE *BOOLEAN-EXPRESSION* :CONTENTS (1210)) (1210 :OBJECT-NAME *EQUAL* :NAME "=" :GOAL-DESCRIPTION "A Pascal operator to test whether two expressions are equal in value." :PARENT NIL :CHILDREN NIL :COMPOSERS (1209) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1211 1212 1213)) (1211 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1210 :TYPE BOOLEAN :CONTENTS NIL) (1212 :OBJECT-NAME *UNI-SLOT* :NAME "expression1" :MY-PLAN 1210 :TYPE *EXPRESSION* :CONTENTS (1148)) (1213 :OBJECT-NAME *UNI-SLOT* :NAME "expression2" :MY-PLAN 1210 :TYPE *EXPRESSION* :CONTENTS (1202)) (1214 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1207 :TYPE NON-EXPRESSION :CONTENTS (1188)) (1215 :OBJECT-NAME *GOAL* :NAME "G:test" :GOAL-DESCRIPTION "This is the test statement for the if then plan." :PARENT 1205 :CHILDREN (1210) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1216 :OBJECT-NAME *GOAL* :NAME "G:write_rockscissors" :GOAL-DESCRIPTION "A writeline for when comp = rock and user= scissors." :PARENT 1160 :CHILDREN (1220) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1217 :OBJECT-NAME *STRING-CONSTANT* :NAME "write_rockscissors" :GOAL-DESCRIPTION "This is used when comp=rock and user=scissors." :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1219 1218)) (1218 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1217 :TYPE *PLAN* :CONTENTS NIL) (1219 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1217 :TYPE STRING :CONTENTS ("Rock smashes scissors. I win.")) (1220 :OBJECT-NAME *WRITELN* :NAME "writeln" :GOAL-DESCRIPTION "A Pascal construct to write to the
screen a message terminated by a return character." :PARENT 1216 :CHILDREN :NONE :COMPOSERS (1200) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1221)) (1221 :OBJECT-NAME *MULTI-SLOT* :NAME "message" :MY-PLAN 1220 :TYPE *EXPRESSION* :CONTENTS (1217)) (1222 :OBJECT-NAME *GOAL* :NAME "G:user_rock2" :GOAL-DESCRIPTION "This is the second user rock plan in the program." :PARENT 1128 :CHILDREN (1223) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1223 :OBJECT-NAME *PLAN* :NAME "P:user_rock2" :GOAL-DESCRIPTION "This is the second user rock plan in the program." :PARENT 1222 :CHILDREN (1225 1237) :COMPOSERS (1274) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1224)) (1224 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1223 :TYPE *PLAN* :CONTENTS (1226)) (1225 :OBJECT-NAME *GOAL* :NAME "G:if_then_paperrock" :GOAL-DESCRIPTION "This is used when comp=paper and user=rock." :PARENT 1223 :CHILDREN (1226) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1226 :OBJECT-NAME *PLAN* :NAME "if_then_test" :GOAL-DESCRIPTION "This is an if then plan with a = test already embedded into it." :PARENT 1225 :CHILDREN (1227 1236) :COMPOSERS (1224) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1229)) (1227 :OBJECT-NAME *GOAL* :NAME "G:if_then_plan" :GOAL-DESCRIPTION "This is the actual if_then plan." :PARENT 1226 :CHILDREN (1228) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1228 :OBJECT-NAME *IF-THEN* :NAME "if-then" :GOAL-DESCRIPTION "A Pascal construct to execute or not
execute a group of statements depending on
the result of a boolean test." :PARENT 1227 :CHILDREN :NONE :COMPOSERS (1229) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1230 1235)) (1229 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1226 :TYPE *PLAN* :CONTENTS (1228)) (1230 :OBJECT-NAME *UNI-SLOT* :NAME "test" :MY-PLAN 1228 :TYPE *BOOLEAN-EXPRESSION* :CONTENTS (1231)) (1231 :OBJECT-NAME *EQUAL* :NAME "=" :GOAL-DESCRIPTION "A Pascal operator to test whether two expressions are equal in value." :PARENT NIL :CHILDREN NIL :COMPOSERS (1230) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1232 1233 1234)) (1232 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1231 :TYPE BOOLEAN :CONTENTS NIL) (1233 :OBJECT-NAME *UNI-SLOT* :NAME "expression1" :MY-PLAN 1231 :TYPE *EXPRESSION* :CONTENTS (1148)) (1234 :OBJECT-NAME *UNI-SLOT* :NAME "expression2" :MY-PLAN 1231 :TYPE *EXPRESSION* :CONTENTS (1168)) (1235 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1228 :TYPE NON-EXPRESSION :CONTENTS (1241)) (1236 :OBJECT-NAME *GOAL* :NAME "G:test" :GOAL-DESCRIPTION "This is the test statement for the if then plan." :PARENT 1226 :CHILDREN (1231) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1237 :OBJECT-NAME *GOAL* :NAME "G:write_paperrock" :GOAL-DESCRIPTION "This is the write line for when comp=paper and user=rock." :PARENT 1223 :CHILDREN (1241) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1238 :OBJECT-NAME *STRING-CONSTANT* :NAME "write_paperrock" :GOAL-DESCRIPTION "This is the write line for when the computer chooses paper and the user chooses rock." :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1240 1239)) (1239 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1238 :TYPE *PLAN* :CONTENTS NIL) (1240 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1238 :TYPE STRING :CONTENTS ("Paper wraps rock. I win.\\")) (1241 :OBJECT-NAME *WRITELN* :NAME "writeln" :GOAL-DESCRIPTION "A Pascal construct to write to the
screen a message terminated by a return character." :PARENT 1237 :CHILDREN :NONE :COMPOSERS (1235) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1242)) (1242 :OBJECT-NAME *MULTI-SLOT* :NAME "message" :MY-PLAN 1241 :TYPE *EXPRESSION* :CONTENTS (1238)) (1243 :OBJECT-NAME *GOAL* :NAME "G:user_paper2" :GOAL-DESCRIPTION "This is the second user paper plan in the program." :PARENT 1128 :CHILDREN (1244) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1244 :OBJECT-NAME *PLAN* :NAME "P:user_paper2" :GOAL-DESCRIPTION "This is the second user paper plan in the program." :PARENT 1243 :CHILDREN (1246 1258) :COMPOSERS (1274) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1245)) (1245 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1244 :TYPE *PLAN* :CONTENTS (1247)) (1246 :OBJECT-NAME *GOAL* :NAME "G:if_then_paperpaper" :GOAL-DESCRIPTION "This occurs if we both have paper." :PARENT 1244 :CHILDREN (1247) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1247 :OBJECT-NAME *PLAN* :NAME "if_then_test" :GOAL-DESCRIPTION "This is an if then plan with a = test already embedded into it." :PARENT 1246 :CHILDREN (1248 1257) :COMPOSERS (1245) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1250)) (1248 :OBJECT-NAME *GOAL* :NAME "G:if_then_plan" :GOAL-DESCRIPTION "This is the actual if_then plan." :PARENT 1247 :CHILDREN (1249) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1249 :OBJECT-NAME *IF-THEN* :NAME "if-then" :GOAL-DESCRIPTION "A Pascal construct to execute or not
execute a group of statements depending on
the result of a boolean test." :PARENT 1248 :CHILDREN :NONE :COMPOSERS (1250) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1251 1256)) (1250 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1247 :TYPE *PLAN* :CONTENTS (1249)) (1251 :OBJECT-NAME *UNI-SLOT* :NAME "test" :MY-PLAN 1249 :TYPE *BOOLEAN-EXPRESSION* :CONTENTS (1252)) (1252 :OBJECT-NAME *EQUAL* :NAME "=" :GOAL-DESCRIPTION "A Pascal operator to test whether two expressions are equal in value." :PARENT NIL :CHILDREN NIL :COMPOSERS (1251) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1253 1254 1255)) (1253 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1252 :TYPE BOOLEAN :CONTENTS NIL) (1254 :OBJECT-NAME *UNI-SLOT* :NAME "expression1" :MY-PLAN 1252 :TYPE *EXPRESSION* :CONTENTS (1148)) (1255 :OBJECT-NAME *UNI-SLOT* :NAME "expression2" :MY-PLAN 1252 :TYPE *EXPRESSION* :CONTENTS (1202)) (1256 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1249 :TYPE NON-EXPRESSION :CONTENTS (1262)) (1257 :OBJECT-NAME *GOAL* :NAME "G:test" :GOAL-DESCRIPTION "This is the test statement for the if then plan." :PARENT 1247 :CHILDREN (1252) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1258 :OBJECT-NAME *GOAL* :NAME "G:write_paperpaper" :GOAL-DESCRIPTION "This is if we both have paper." :PARENT 1244 :CHILDREN (1262) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1259 :OBJECT-NAME *STRING-CONSTANT* :NAME "write_paperpaper" :GOAL-DESCRIPTION "If we both have paper." :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1261 1260)) (1260 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1259 :TYPE *PLAN* :CONTENTS NIL) (1261 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1259 :TYPE STRING :CONTENTS ("Paper wraps each other. We tie.")) (1262 :OBJECT-NAME *WRITELN* :NAME "writeln" :GOAL-DESCRIPTION "A Pascal construct to write to the
screen a message terminated by a return character." :PARENT 1258 :CHILDREN :NONE :COMPOSERS (1256) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1263)) (1263 :OBJECT-NAME *MULTI-SLOT* :NAME "message" :MY-PLAN 1262 :TYPE *EXPRESSION* :CONTENTS (1259)) (1264 :OBJECT-NAME *GOAL* :NAME "G:rand_if_then2" :GOAL-DESCRIPTION "This is used if the computer chooses paper." :PARENT 1128 :CHILDREN (1265) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1265 :OBJECT-NAME *PLAN* :NAME "if_then_test" :GOAL-DESCRIPTION "This is an if then plan with a = test already embedded into it." :PARENT 1264 :CHILDREN (1266 1275) :COMPOSERS (1129) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1268)) (1266 :OBJECT-NAME *GOAL* :NAME "G:if_then_plan" :GOAL-DESCRIPTION "This is the actual if_then plan." :PARENT 1265 :CHILDREN (1267) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1267 :OBJECT-NAME *IF-THEN* :NAME "if-then" :GOAL-DESCRIPTION "A Pascal construct to execute or not
execute a group of statements depending on
the result of a boolean test." :PARENT 1266 :CHILDREN :NONE :COMPOSERS (1268) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1269 1274)) (1268 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1265 :TYPE *PLAN* :CONTENTS (1267)) (1269 :OBJECT-NAME *UNI-SLOT* :NAME "test" :MY-PLAN 1267 :TYPE *BOOLEAN-EXPRESSION* :CONTENTS (1270)) (1270 :OBJECT-NAME *EQUAL* :NAME "=" :GOAL-DESCRIPTION "A Pascal operator to test whether two expressions are equal in value." :PARENT NIL :CHILDREN NIL :COMPOSERS (1269) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1271 1272 1273)) (1271 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1270 :TYPE BOOLEAN :CONTENTS NIL) (1272 :OBJECT-NAME *UNI-SLOT* :NAME "expression1" :MY-PLAN 1270 :TYPE *EXPRESSION* :CONTENTS (1060)) (1273 :OBJECT-NAME *UNI-SLOT* :NAME "expression2" :MY-PLAN 1270 :TYPE *EXPRESSION* :CONTENTS (1168)) (1274 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1267 :TYPE NON-EXPRESSION :CONTENTS (1223 1244 1277)) (1275 :OBJECT-NAME *GOAL* :NAME "G:test" :GOAL-DESCRIPTION "This is the test statement for the if then plan." :PARENT 1265 :CHILDREN (1270) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1276 :OBJECT-NAME *GOAL* :NAME "G:user_scissors2" :GOAL-DESCRIPTION "T his will be used if the computer chooses paper and the user chooses scissors." :PARENT 1128 :CHILDREN (1277) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1277 :OBJECT-NAME *PLAN* :NAME "P:user_scissors2" :GOAL-DESCRIPTION "T his will be used if the computer chooses paper and the user chooses scissors." :PARENT 1276 :CHILDREN (1279 1291) :COMPOSERS (1274) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1278)) (1278 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1277 :TYPE *PLAN* :CONTENTS (1280)) (1279 :OBJECT-NAME *GOAL* :NAME "G:if_then_paperscissors" :GOAL-DESCRIPTION "This is the actual ifthen for when computer chooses paper and the user chooses scissors." :PARENT 1277 :CHILDREN (1280) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1280 :OBJECT-NAME *PLAN* :NAME "if_then_test" :GOAL-DESCRIPTION "This is an if then plan with a = test already embedded into it." :PARENT 1279 :CHILDREN (1281 1290) :COMPOSERS (1278) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1283)) (1281 :OBJECT-NAME *GOAL* :NAME "G:if_then_plan" :GOAL-DESCRIPTION "This is the actual if_then plan." :PARENT 1280 :CHILDREN (1282) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1282 :OBJECT-NAME *IF-THEN* :NAME "if-then" :GOAL-DESCRIPTION "A Pascal construct to execute or not
execute a group of statements depending on
the result of a boolean test." :PARENT 1281 :CHILDREN :NONE :COMPOSERS (1283) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1284 1289)) (1283 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1280 :TYPE *PLAN* :CONTENTS (1282)) (1284 :OBJECT-NAME *UNI-SLOT* :NAME "test" :MY-PLAN 1282 :TYPE *BOOLEAN-EXPRESSION* :CONTENTS (1285)) (1285 :OBJECT-NAME *EQUAL* :NAME "=" :GOAL-DESCRIPTION "A Pascal operator to test whether two expressions are equal in value." :PARENT NIL :CHILDREN NIL :COMPOSERS (1284) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1286 1287 1288)) (1286 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1285 :TYPE BOOLEAN :CONTENTS NIL) (1287 :OBJECT-NAME *UNI-SLOT* :NAME "expression1" :MY-PLAN 1285 :TYPE *EXPRESSION* :CONTENTS (1148)) (1288 :OBJECT-NAME *UNI-SLOT* :NAME "expression2" :MY-PLAN 1285 :TYPE *EXPRESSION* :CONTENTS (1104)) (1289 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1282 :TYPE NON-EXPRESSION :CONTENTS (1295)) (1290 :OBJECT-NAME *GOAL* :NAME "G:test" :GOAL-DESCRIPTION "This is the test statement for the if then plan." :PARENT 1280 :CHILDREN (1285) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1291 :OBJECT-NAME *GOAL* :NAME "G:write_paperscissors" :GOAL-DESCRIPTION "This is the writeln for paper-scissors." :PARENT 1277 :CHILDREN (1295) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1292 :OBJECT-NAME *STRING-CONSTANT* :NAME "write_paperscissors" :GOAL-DESCRIPTION "This is for paper-scissors" :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1294 1293)) (1293 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1292 :TYPE *PLAN* :CONTENTS NIL) (1294 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1292 :TYPE STRING :CONTENTS ("Scissors cut paper. You win.")) (1295 :OBJECT-NAME *WRITELN* :NAME "writeln" :GOAL-DESCRIPTION "A Pascal construct to write to the screen a message terminated by a return character." :PARENT 1291 :CHILDREN :NONE :COMPOSERS (1289) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1296)) (1296 :OBJECT-NAME *MULTI-SLOT* :NAME "message" :MY-PLAN 1295 :TYPE *EXPRESSION* :CONTENTS (1292)) (1567 :OBJECT-NAME *GOAL* :NAME "G:rand_ifthen3" :GOAL-DESCRIPTION "This is used if the computer chooses scissors." :PARENT 1131 :CHILDREN (1632) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1632 :OBJECT-NAME *PLAN* :NAME "if_then_test" :GOAL-DESCRIPTION "This is an if then plan with a = test already embedded into it." :PARENT 1567 :CHILDREN (1633 1646) :COMPOSERS (1132) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1635)) (1633 :OBJECT-NAME *GOAL* :NAME "G:if_then_plan" :GOAL-DESCRIPTION "This is the actual if_then plan." :PARENT 1632 :CHILDREN (1634) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1634 :OBJECT-NAME *IF-THEN* :NAME "if-then" :GOAL-DESCRIPTION "A Pascal construct to execute or not
execute a group of statements depending on
the result of a boolean test." :PARENT 1633 :CHILDREN :NONE :COMPOSERS (1635) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1636 1643)) (1635 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1632 :TYPE *PLAN* :CONTENTS (1634)) (1636 :OBJECT-NAME *UNI-SLOT* :NAME "test" :MY-PLAN 1634 :TYPE *BOOLEAN-EXPRESSION* :CONTENTS (1637)) (1637 :OBJECT-NAME *EQUAL* :NAME "=" :GOAL-DESCRIPTION "A Pascal operator to test whether two expressions are equal in value." :PARENT NIL :CHILDREN NIL :COMPOSERS (1636) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1638 1639 1640)) (1638 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1637 :TYPE BOOLEAN :CONTENTS NIL) (1639 :OBJECT-NAME *UNI-SLOT* :NAME "expression1" :MY-PLAN 1637 :TYPE *EXPRESSION* :CONTENTS (1060)) (1640 :OBJECT-NAME *UNI-SLOT* :NAME "expression2" :MY-PLAN 1637 :TYPE *EXPRESSION* :CONTENTS (1202)) (1643 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1634 :TYPE NON-EXPRESSION :CONTENTS (1777 1971 2168)) (1646 :OBJECT-NAME *GOAL* :NAME "G:test" :GOAL-DESCRIPTION "This is the test statement for the if then plan." :PARENT 1632 :CHILDREN (1637) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1709 :OBJECT-NAME *GOAL* :NAME "G:user_rock3" :GOAL-DESCRIPTION "This is used when the computer chooses scissors and the user chooses rock." :PARENT 1131 :CHILDREN (1777) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1777 :OBJECT-NAME *PLAN* :NAME "P:user_rock3" :GOAL-DESCRIPTION "This is used when the computer chooses scissors and the user chooses rock." :PARENT 1709 :CHILDREN (2298 2452) :COMPOSERS (1643) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1778)) (1778 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1777 :TYPE *PLAN* :CONTENTS (2369)) (1902 :OBJECT-NAME *GOAL* :NAME "G:user_paper3" :GOAL-DESCRIPTION "This is used when the computer chooses scissors ad the user chooses rock." :PARENT 1131 :CHILDREN (1971) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1971 :OBJECT-NAME *PLAN* :NAME "P:user_paper3" :GOAL-DESCRIPTION "This is used when the computer chooses scissors ad the user chooses rock." :PARENT 1902 :CHILDREN (2683 2845) :COMPOSERS (1643) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1972)) (1972 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1971 :TYPE *PLAN* :CONTENTS (2758)) (2098 :OBJECT-NAME *GOAL* :NAME "G:user_scissors3" :GOAL-DESCRIPTION "This is used if both the computer and the user chooses scissors." :PARENT 1131 :CHILDREN (2168) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (2168 :OBJECT-NAME *PLAN* :NAME "P:user_scissors3" :GOAL-DESCRIPTION "This is used if both the computer and the user chooses scissors." :PARENT 2098 :CHILDREN (3083 3253) :COMPOSERS (1643) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (2169)) (2169 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 2168 :TYPE *PLAN* :CONTENTS (3162)) (2298 :OBJECT-NAME *GOAL* :NAME "G:ifthen_scissorsrock" :GOAL-DESCRIPTION "This is the actual if then for when the computer chooses scissors and the user chooses rock." :PARENT 1777 :CHILDREN (2369) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (2369 :OBJECT-NAME *PLAN* :NAME "if_then_test" :GOAL-DESCRIPTION "This is an if then plan with a = test already embedded into it." :PARENT 2298 :CHILDREN (2370 2383) :COMPOSERS (1778) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (2372)) (2370 :OBJECT-NAME *GOAL* :NAME "G:if_then_plan" :GOAL-DESCRIPTION "This is the actual if_then plan." :PARENT 2369 :CHILDREN (2371) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (2371 :OBJECT-NAME *IF-THEN* :NAME "if-then" :GOAL-DESCRIPTION "A Pascal construct to execute or not
execute a group of statements depending on
the result of a boolean test." :PARENT 2370 :CHILDREN :NONE :COMPOSERS (2372) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (2373 2380)) (2372 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 2369 :TYPE *PLAN* :CONTENTS (2371)) (2373 :OBJECT-NAME *UNI-SLOT* :NAME "test" :MY-PLAN 2371 :TYPE *BOOLEAN-EXPRESSION* :CONTENTS (2374)) (2374 :OBJECT-NAME *EQUAL* :NAME "=" :GOAL-DESCRIPTION "A Pascal operator to test whether two expressions are equal in value." :PARENT NIL :CHILDREN NIL :COMPOSERS (2373) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (2375 2376 2377)) (2375 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 2374 :TYPE BOOLEAN :CONTENTS NIL) (2376 :OBJECT-NAME *UNI-SLOT* :NAME "expression1" :MY-PLAN 2374 :TYPE *EXPRESSION* :CONTENTS (1148)) (2377 :OBJECT-NAME *UNI-SLOT* :NAME "expression2" :MY-PLAN 2374 :TYPE *EXPRESSION* :CONTENTS (1168)) (2380 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 2371 :TYPE NON-EXPRESSION :CONTENTS (2543)) (2383 :OBJECT-NAME *GOAL* :NAME "G:test" :GOAL-DESCRIPTION "This is the test statement for the if then plan." :PARENT 2369 :CHILDREN (2374) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (2452 :OBJECT-NAME *GOAL* :NAME "G:write_scissorsrock" :GOAL-DESCRIPTION "This is used when the computer chooses scissors and the user chooses rock." :PARENT 1777 :CHILDREN (2543) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (2540 :OBJECT-NAME *STRING-CONSTANT* :NAME "write_scissorsrock" :GOAL-DESCRIPTION "This is used when the situation is scissosrs-rock." :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (2542 2541)) (2541 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 2540 :TYPE *PLAN* :CONTENTS NIL) (2542 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 2540 :TYPE STRING :CONTENTS ("Rock crushes scissors. You win.")) (2543 :OBJECT-NAME *WRITELN* :NAME "writeln" :GOAL-DESCRIPTION "A Pascal construct to write to the screen a message terminated by a return character." :PARENT 2452 :CHILDREN :NONE :COMPOSERS (2380) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (2544)) (2544 :OBJECT-NAME *MULTI-SLOT* :NAME "message" :MY-PLAN 2543 :TYPE *EXPRESSION* :CONTENTS (2540)) (2683 :OBJECT-NAME *GOAL* :NAME "G:ifthen_scissorspaper" :GOAL-DESCRIPTION "This is the actual if then for when the computer chooses scissors and the user chooses paper." :PARENT 1971 :CHILDREN (2758) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (2758 :OBJECT-NAME *PLAN* :NAME "if_then_test" :GOAL-DESCRIPTION "This is an if then plan with a = test already embedded into it." :PARENT 2683 :CHILDREN (2759 2772) :COMPOSERS (1972) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (2761)) (2759 :OBJECT-NAME *GOAL* :NAME "G:if_then_plan" :GOAL-DESCRIPTION "This is the actual if_then plan." :PARENT 2758 :CHILDREN (2760) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (2760 :OBJECT-NAME *IF-THEN* :NAME "if-then" :GOAL-DESCRIPTION "A Pascal construct to execute or not
execute a group of statements depending on
the result of a boolean test." :PARENT 2759 :CHILDREN :NONE :COMPOSERS (2761) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (2762 2769)) (2761 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 2758 :TYPE *PLAN* :CONTENTS (2760)) (2762 :OBJECT-NAME *UNI-SLOT* :NAME "test" :MY-PLAN 2760 :TYPE *BOOLEAN-EXPRESSION* :CONTENTS (2763)) (2763 :OBJECT-NAME *EQUAL* :NAME "=" :GOAL-DESCRIPTION "A Pascal operator to test whether two expressions are equal in value." :PARENT NIL :CHILDREN NIL :COMPOSERS (2762) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (2764 2765 2766)) (2764 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 2763 :TYPE BOOLEAN :CONTENTS NIL) (2765 :OBJECT-NAME *UNI-SLOT* :NAME "expression1" :MY-PLAN 2763 :TYPE *EXPRESSION* :CONTENTS (1148)) (2766 :OBJECT-NAME *UNI-SLOT* :NAME "expression2" :MY-PLAN 2763 :TYPE *EXPRESSION* :CONTENTS (1202)) (2769 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 2760 :TYPE NON-EXPRESSION :CONTENTS (2934)) (2772 :OBJECT-NAME *GOAL* :NAME "G:test" :GOAL-DESCRIPTION "This is the test statement for the if then plan." :PARENT 2758 :CHILDREN (2763) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (2845 :OBJECT-NAME *GOAL* :NAME "G:write_scissorspaper" :GOAL-DESCRIPTION "This is the writeln for whne the computer chooses scissors and the user chooses paper." :PARENT 1971 :CHILDREN (2934) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (2931 :OBJECT-NAME *STRING-CONSTANT* :NAME "write_scissorspaper" :GOAL-DESCRIPTION "This is the writeln for an scissors-paper situation." :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (2933 2932)) (2932 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 2931 :TYPE *PLAN* :CONTENTS NIL) (2933 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 2931 :TYPE STRING :CONTENTS ("Scissors cut paper. I win.")) (2934 :OBJECT-NAME *WRITELN* :NAME "writeln" :GOAL-DESCRIPTION "A Pascal construct to write to the screen a message terminated by a return character." :PARENT 2845 :CHILDREN :NONE :COMPOSERS (2769) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (2935)) (2935 :OBJECT-NAME *MULTI-SLOT* :NAME "message" :MY-PLAN 2934 :TYPE *EXPRESSION* :CONTENTS (2931)) (3083 :OBJECT-NAME *GOAL* :NAME "G:ifthen_scissorsscissors" :GOAL-DESCRIPTION "This si the actual if then for when both the computer and the user chooses scissors." :PARENT 2168 :CHILDREN (3162) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (3162 :OBJECT-NAME *PLAN* :NAME "if_then_test" :GOAL-DESCRIPTION "This is an if then plan with a = test already embedded into it." :PARENT 3083 :CHILDREN (3163 3176) :COMPOSERS (2169) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (3165)) (3163 :OBJECT-NAME *GOAL* :NAME "G:if_then_plan" :GOAL-DESCRIPTION "This is the actual if_then plan." :PARENT 3162 :CHILDREN (3164) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (3164 :OBJECT-NAME *IF-THEN* :NAME "if-then" :GOAL-DESCRIPTION "A Pascal construct to execute or not
execute a group of statements depending on
the result of a boolean test." :PARENT 3163 :CHILDREN :NONE :COMPOSERS (3165) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (3166 3173)) (3165 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 3162 :TYPE *PLAN* :CONTENTS (3164)) (3166 :OBJECT-NAME *UNI-SLOT* :NAME "test" :MY-PLAN 3164 :TYPE *BOOLEAN-EXPRESSION* :CONTENTS (3167)) (3167 :OBJECT-NAME *EQUAL* :NAME "=" :GOAL-DESCRIPTION "A Pascal operator to test whether two expressions are equal in value." :PARENT NIL :CHILDREN NIL :COMPOSERS (3166) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (3168 3169 3170)) (3168 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 3167 :TYPE BOOLEAN :CONTENTS NIL) (3169 :OBJECT-NAME *UNI-SLOT* :NAME "expression1" :MY-PLAN 3167 :TYPE *EXPRESSION* :CONTENTS (1148)) (3170 :OBJECT-NAME *UNI-SLOT* :NAME "expression2" :MY-PLAN 3167 :TYPE *EXPRESSION* :CONTENTS (1104)) (3173 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 3164 :TYPE NON-EXPRESSION :CONTENTS (3338)) (3176 :OBJECT-NAME *GOAL* :NAME "G:test" :GOAL-DESCRIPTION "This is the test statement for the if then plan." :PARENT 3162 :CHILDREN (3167) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (3253 :OBJECT-NAME *GOAL* :NAME "G:write_scissorsscissors" :GOAL-DESCRIPTION "This is the writeln for when both the computer and the user chooses scissors." :PARENT 2168 :CHILDREN (3338) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (3335 :OBJECT-NAME *STRING-CONSTANT* :NAME "write_scissorsscissors" :GOAL-DESCRIPTION "This is the writeln for when both the computer and the user choose scissors." :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (3337 3336)) (3336 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 3335 :TYPE *PLAN* :CONTENTS NIL) (3337 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 3335 :TYPE STRING :CONTENTS ("Scisssors cut each other. We tie.")) (3338 :OBJECT-NAME *WRITELN* :NAME "writeln" :GOAL-DESCRIPTION "A Pascal construct to write to the screen a message terminated by a return character." :PARENT 3253 :CHILDREN :NONE :COMPOSERS (3173) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (3339)) (3339 :OBJECT-NAME *MULTI-SLOT* :NAME "message" :MY-PLAN 3338 :TYPE *EXPRESSION* :CONTENTS (3335)))